package com.sophialex.health.record.common.util;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.sophialex.health.common.platform.SuperContext;
import com.sophialex.health.common.platform.exception.BusinessException;
import com.sophialex.health.common.platform.exception.DaoException;
import com.sophialex.health.system.frame.util.Assert;

public class YfLocalCache {

//	public static Map<String, TdrugDic> drugMap = new HashMap<String, TdrugDic>();
//
//	public static List<Tgys> gyrList;
//
//	public static List<Tbm> bmList;
//
//	public static List<Tparam> paramList;
//
//	public static List<Tkhzl> khList;
//
//	public static List<Tzdmx> jsrList; // 经手人，审核人
//
//	private static List<TPyDoctor> allPyDoc;
//
//	public static List<Tkssz> ksList;
//
//	public static List<Tzdmx> rkfsList;
//
//	public static List<Tkfzl> allKfList;
//
//	public static List<Tkfzl> allYkList; // 所有药库
//
//	public static List<Tkfzl> userKfList;// 用户注册库房资料
//
//	public static List<SimplePerson> perList;// 人员集合
//
//	public static List<Tlysqsz> lyszList;// 领药设置
//
//	public static List<Tlysqstate> lystateList;;// 领药状态
//
//	public static List<Tcszl> cszlList; // 厂家
//
//	public static List<TUserByGh> kfusers;// 库房注册人员
//
//	public static List<Typjxsz> ypjxList;// 药品剂型
//
//	public static List<Tdrugusage> ypyfList; // 药品用法列表
//
//	public static List<Tkssz> curKsList; // 当前库房对应的科室
//	public static List<Tkfuser> curKfuser; // 当前库房对应人员
//
//	public static List<TcjlId> cjlList; // 药品最高差别价率(额)表

//	/**
//	 * 获取药品
//	 * 
//	 * @param code
//	 * @return
//	 */
//	public static TdrugDic getDrugByCode(String code) {
//		if (Assert.isNull(code))
//			return null;
//		return drugMap.get(code);
//	}
//
//	/**
//	 * 获取药品
//	 * 
//	 * @param code
//	 * @return
//	 */
//	public static TdrugDic getYpMc(String code) {
//		if (Assert.isNull(code))
//			return null;
//		return drugMap.get(code);
//	}
//
//	/**
//	 * 获取当前库房对应人员
//	 * */
//	public static List<Tkfuser> getCurkfuser() {
//		if (curKfuser == null) {
//			try {
//				curKfuser = DataSource.comService
//						.getKfuserByKfbh(SystemUtil.curKf.getFkfbh());
//			} catch (BusinessException e) {
//				e.printStackTrace();
//			}
//		}
//		return curKfuser;
//	}
//
//	/**
//	 * 获取供应商
//	 * 
//	 * @param fkfjb
//	 * @return
//	 * @throws BusinessException
//	 */
//	public static List<Tgys> getGyrByKfJb() throws BusinessException {
//		if (gyrList == null)
//			gyrList = DataSource.comService.getGysList("", SystemUtil.curKf
//					.getFkfjb()
//					+ "");
//		return gyrList;
//	}
//
//	/**
//	 * 获取部门
//	 * 
//	 * @return
//	 * @throws BusinessException
//	 */
//	public static List<Tbm> getBm() throws BusinessException {
//		if (bmList == null)
//			bmList = DataSource.comService.getDepartment("", "");
//		return bmList;
//	}
//
//	/**
//	 * 获取参数
//	 * 
//	 * @return
//	 * @throws BusinessException
//	 */
//	public static List<Tparam> getTparam() throws BusinessException {
//		if (paramList == null) {
//			paramList = DataSource.comService.getTparamByKfZl(SystemUtil.curKf
//					.getFkfbh(), SystemUtil.curKf.getFkfjb().toString());
//
//		}
//		return paramList;
//
//	}
//
//	/**
//	 * 获取客户资料
//	 * 
//	 * @return
//	 * @throws BusinessException
//	 */
//	public static List<Tkhzl> getTkhzl() throws BusinessException {
//		if (khList == null) {
//			khList = (List<Tkhzl>) DataSource.comService
//					.getAllEntity(Tkhzl.class);
//		}
//		return khList;
//	}
//
//	public static List<Tzdmx> getHandlman() throws BusinessException {
//		if (jsrList == null) {
//			jsrList = DataSource.comService.getTzdmx("tdjmain", "fhandleman",
//					SystemUtil.curKf.getFkfjb().toString());
//		}
//		return jsrList;
//	}
//
//	public static List<Tzdmx> getRkType() throws BusinessException {
//		if (rkfsList == null) {
//			rkfsList = DataSource.comService.getTzdmx("tdjmain", "ftype",
//					SystemUtil.curKf.getFkfjb().toString());
//		}
//		return rkfsList;
//	}
//
//	public static List<TPyDoctor> getAllPyDoc() throws BusinessException {
//		if (allPyDoc == null)
//			allPyDoc = DataSource.fyService.getAllPyDoc();
//		return allPyDoc;
//	}
//
//	/**
//	 * 获取科室设置
//	 * 
//	 * @return
//	 * @throws BusinessException
//	 */
//	public static List<Tkssz> getKssz() throws BusinessException {
//		if (ksList == null) {
//			ksList = DataSource.comService.getAllEntity(Tkssz.class);
//		}
//		return ksList;
//	}
//
//	/**** 获取所有库房 *****/
//	public static List<Tkfzl> getAllKfzl() throws BusinessException {
//		if (allKfList == null) {
//			allKfList = DataSource.comService.getAllKf();
//		}
//		allYkList = new ArrayList<Tkfzl>();
//		if (allKfList != null)
//			for (Tkfzl kfzl : allKfList) {
//				if (kfzl.getFkfjb().equals(1l))
//					allYkList.add(kfzl);
//			}
//		return allKfList;
//	}
//
//	/** 获取库房名称 */
//	public static String getKfzlName(String kfbh) {
//		String result = "";
//		List<Tkfzl> list = null;
//		try {
//			list = getAllKfzl();
//		} catch (BusinessException e) {
//			e.printStackTrace();
//		}
//		if (list != null) {
//			for (Tkfzl kf : list) {
//				if (kfbh.equals(kf.getFkfbh())) {
//					result = kf.getFmc() == null ? "" : kf.getFmc();
//					break;
//				}
//			}
//		}
//		return result;
//	}
//
//	public static List<Tkfzl> getUserKfzl() throws BusinessException {
//		if (userKfList == null)
//			userKfList = DataSource.comService.getKfzlByUser(SuperContext
//					.getCurrentUser().getFtybh());
//		return userKfList;
//	}
//
//	/**
//	 * 取药品剂型
//	 * 
//	 * @return
//	 * @throws DaoException
//	 */
//	public static List<Typjxsz> getYpjxsz() throws BusinessException {
//		if (ypjxList == null) {
//			ypjxList = DataSource.comService.getypjxsz();
//		}
//		return ypjxList;
//	}
//
//	public static List<SimplePerson> getAllPerson() throws BusinessException {
//		if (perList == null) {
//			perList = DataSource.comService.getAllPerson();
//		}
//		return perList;
//	}
//
//	public static HashMap<String, SimplePerson> getPersonToMap()
//			throws BusinessException {
//		HashMap<String, SimplePerson> hp = new HashMap<String, SimplePerson>();
//		if (perList == null) {
//			perList = DataSource.comService.getAllPerson();
//		}
//		for (SimplePerson sp : perList) {
//			hp.put(sp.getFtybh(), sp);
//		}
//		return hp;
//	}
//
//	public static List<Tlysqsz> getAllLysz() throws BusinessException {
//		if (lyszList == null) {
//			lyszList = DataSource.comService.getAllEntity(Tlysqsz.class);
//		}
//		return lyszList;
//	}
//
//	public static List<Tlysqstate> getAllLystate() throws BusinessException {
//		if (lystateList == null) {
//			lystateList = DataSource.comService.getAllEntity(Tlysqstate.class);
//		}
//		return lystateList;
//	}
//
//	public static List<Tcszl> getAllTcszl() throws BusinessException {
//		if (cszlList == null) {
//			cszlList = DataSource.comService.getTcszlList();
//		}
//		return cszlList;
//	}
//
//	public static List<TUserByGh> getUserByGhs() throws BusinessException {
//		if (kfusers == null) {
//			kfusers = DataSource.zyfyService.getYpglUserByGh("", "2");
//		}
//		return kfusers;
//	}
//
//	/**
//	 * 获取当前库房科室设置
//	 * 
//	 * @return
//	 * @throws BusinessException
//	 */
//	public static List<Tkssz> getCurKfKs() throws BusinessException {
//		if (curKsList == null) {
//			if (SystemUtil.curKf != null)
//				curKsList = DataSource.comService.getTkssz(SystemUtil
//						.getKsXz(SystemUtil.curKf.getFkflb()), SystemUtil.curKf
//						.getFdeptbh());
//		}
//		return curKsList;
//	}
//
//	public static void initDrugCodeMap() throws BusinessException {
//		List<TdrugDic> list = DataSource.comService.getAllDrugCode();
//		if (list != null && list.size() > 0) {
//			for (TdrugDic dic : list) {
//				drugMap.put(dic.getFmcode(), dic);
//			}
//		}
//	}
//
//	public static void clearKfCache() {
//		curKsList = null;
//		rkfsList = null;
//
//		jsrList = null;
//		paramList = null;
//		gyrList = null;
//		curKfuser = null;
//	}
//
//	/**
//	 * 药品最高差别价率(额)表
//	 * 
//	 * @return
//	 * @throws BusinessException
//	 */
//	public static List<TcjlId> getCjlList() throws BusinessException {
//		if (cjlList == null) {
//			cjlList = DataSource.comService.getTcjls();
//		}
//		return cjlList;
//	}
//
//	public static TcjlId getTcjlId(String value) throws BusinessException {
//		BigDecimal min = null;
//		BigDecimal max = null;
//		if (value != null && !"".equals(value)) {
//			BigDecimal val = new BigDecimal(value);
//			for (TcjlId id : getCjlList()) {
//				if (id.getFminprice() != null)
//					min = new BigDecimal(id.getFminprice());
//				if (id.getFmaxprice() != null)
//					max = new BigDecimal(id.getFmaxprice());
//				if(min.compareTo(new BigDecimal(0))==0)
//					min = null;
//				if(max.compareTo(new BigDecimal(0))==0)
//					max = null;
//				if (min == null && val.compareTo(max) <= 0) {
//					return id;
//				} else if (max == null && val.compareTo(min) >= 0) {
//					return id;
//				} else if (min != null && max != null
//						&& val.compareTo(min) >= 0 && (val.compareTo(max) <= 0)) {
//					return id;
//				}
//			}
//		}
//		return null;
//	}

}
